package com.tiancheng.trade.payment.channel.bo;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.List;

/**
 * 统一下单同步返回数据
 *
 * @author kellen
 * @date 2024/4/16
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class UnifiedOrderResBO {

    // 支付渠道网关返回的单号
    public String transactionId;
    // 应用系统支付单号
    public String outTradeNo;
    // 支付信息（如：微信的预支付信息、计平支付网关的预支付信息）
    public String payInfo;

    public List<SubOrder> subOrders;

    /**
     * 商品
     */
    @Getter
    @Setter
    @NoArgsConstructor
    public static class SubOrder {
        /**
         * max=1024；
         */
        private Integer discount;

        /**
         * 商品ID； max=64；
         */
        private String goodsId;
        /**
         * 商品名称； max=256；
         */
        private String goodsName;
        /**
         * 商品数量； max=20；
         */
        private Integer quantity;
        /**
         * 商品单价（分）； max=20；
         */
        private Integer price;
        /**
         * 子商户号；min=8 max=32；
         */
        private String subMerchantId;
        /**
         * 企业用户号
         */
        private String enterpriseCode;
        /**
         * 商户子订单号；min=6 max=32长度不超过32位；
         */
        private String merOrderId;
        /**
         * 子商户商品总额；min=0 max=100000000；
         */
        private Integer subOrderAmount;
        /**
         * 子订单号
         */
        private String subOrderId;
    }
}
